perm filename ARMTST.SAI[HAL,HE] blob
sn#234001 filedate 1976-09-01 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN
C00005 ENDMK
C⊗;
BEGIN
EXTERNAL PROCEDURE BAIL;
REQUIRE "ABBREV.SAI[HAL,HE]" SOURCE_FILE;
REQUIRE "RECAUX.HDR[HAL,HE]" SOURCE_FILE;
REQUIRE "ARMSOL.REL[HAL,HE]" LOAD_MODULE;
INTERNAL RCLASS V3ECT(REAL X,Y,Z);
INTERNAL RCLASS ROTN(REAL ARRAY RMX;RPTR(V3ECT) AXIS;REAL MAGN,αL,βL);
INTERNAL RCLASS TRANS(RPTR(ROTN) R;RPTR(V3ECT) P);
INTERNAL RCLASS SVAL(REAL VAL);
INTERNAL RPTR(TRANS) YPARK;
INTERNAL RPTR(TRANS) BPARK;
EXTERNAL INTEGER PROCEDURE ARMSOL(REAL ARRAY ANGLE; RPTR(TRANS,SVAL) T;
INTEGER MECH);
PRELOAD_WITH 1.,0,0,0,-1.,0,0,0,-1.;
REAL ARRAY ROT[1:3,1:3],RES[1:6];
RPTR(TRANS) T;
RPTR(ROTN) R;
RPTR(V3ECT) V;
INTEGER I,J,K;
T←NEW_RECORD(TRANS);
R←NEW_RECORD(ROTN);
V←NEW_RECORD(V3ECT);
V3ECT:X[V]←43.53125;
V3ECT:Y[V]←56.855;
V3ECT:Z[V]←10.95875;
MEM[LOC(ROTN:RMX[R])]←MEM[LOC(ROT)];
TRANS:R[T]←R;
TRANS:P[T]←V;
BPARK←NEW_RECORD(TRANS);
PRINT("BPARK"&'15&'12);
J ← ARMSOL(RES,BPARK,'4);
IF J THEN PRINT("OUT OF RANGE:",CVOS(J),'12&'15);
FOR I←1 STEP 1 UNTIL 6 DO PRINT(RES[I]," ");
PRINT('12&'15);
WHILE TRUE DO BEGIN
BAIL;
J ← ARMSOL(RES,T,'4);
IF J THEN PRINT("OUT OF RANGE:",CVOS(J),'12&'15);
FOR I←1 STEP 1 UNTIL 6 DO PRINT(RES[I]," ");
PRINT('12&'15);
END
END